import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from './components/Login.vue'
import Home from './components/Home.vue'
import Welcome from './components/Welcome.vue'
import Roles from './components/power/Roles.vue'
import Rights from './components/power/Rights.vue';
import Users from './components/users/Users.vue'
import Add from './components/goods/Add.vue'
import List from './components/goods/List.vue'
import Cate from './components/goods/Cate.vue'
import Orders from './components/order/Orders.vue'
import Params from './components/goods/Params.vue'
import Report from './components/reports/Report.vue'


Vue.use(VueRouter)

const routes = [{
        path: '/',
        redirect: '/login'
    }, {
        path: '/login',
        component: Login
    },
    {
        path: '/home',
        component: Home,
        redirect: '/welcome',
        children: [{
                path: '/welcome',
                component: Welcome
            },
            {
                path: '/rights',
                component: Rights
            },
            {
                path: '/roles',
                component: Roles
            },
            {
                path: '/users',
                component: Users
            }, {
                path: '/goods',
                component: List
            }, {
                path: '/goods/add',
                component: Add
            },
            {
                path: '/categories',
                component: Cate
            },
            {
                path: '/orders',
                component: Orders
            },
            {
                path: '/params',
                component: Params
            }, {
                path: '/reports',
                component: Report
            },
        ]
    },
]

const router = new VueRouter({
    routes
})

// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
    // to表示将要访问的路径
    // from表示从哪个路径跳转而来
    // next是一个函数，表示放行
    // next() 放行  或者  next('/login') 强制跳转
    // 如果访问的是登录页面，就直接放行
    if (to.path === '/login')
        return next();

    //获取token
    const tokenStr = window.sessionStorage.getItem('token');

    // 判断token值是否为空，如果有token值就允许放行，没有就强制跳转到登录页面

    if (!tokenStr)
        return next('/login');
    next();
})

export default router